package io.github.bluesbruce.utils;

import io.netty.buffer.ByteBuf;

public class ByteBufUtil {

  public String convertByteBufToString(ByteBuf buf) {
    String str;
    if (buf.hasArray()) {
      // 处理堆缓冲区
      str = new String(buf.array(), buf.arrayOffset() + buf.readerIndex(), buf.readableBytes());
    } else {
      // 处理直接缓冲区以及复合缓冲区
      byte[] bytes = new byte[buf.readableBytes()];
      buf.getBytes(buf.readerIndex(), bytes);
      str = new String(bytes, 0, buf.readableBytes());
    }
    return str;
  }
}
